// request.js
import axios from 'axios';
import { useTokenStore } from '@/stores/token';
// import interceptors from './interceptors'; // 导入拦截器

// 设置 Axios 默认配置
axios.defaults.baseURL = import.meta.env.VITE_BASE_URL; // 从环境变量中获取基础 URL
axios.defaults.timeout = 30000; // 设置请求超时时间
axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8'; // 设置请求头
//设置源




//添加请求和响应拦截器
// interceptors.forEach(({ requestResolve, responseResolve, responseError }) => {
//     if (requestResolve) axios.interceptors.request.use(requestResolve);
//     if (responseResolve)
//         axios.interceptors.response.use(responseResolve, responseError);
// });

// 添加响应拦截器
axios.interceptors.response.use(
  (response) => {
    // 当响应状态为200时，提取data
    if (response.status === 200) {
      return response.data; // 只返回data部分
    }
    return response; // 其他情况返回完整响应
  },
  (error) => {
    return Promise.reject(error); // 处理响应错误
  }
);


// 添加请求拦截器
axios.interceptors.request.use(
  (config) => {
   const tokenStore = useTokenStore(); // 创建 tokenStore 实例
  //   const token = tokenStore.token; // 获取 token
  const xtoken=tokenStore.token;
  console.log("当前xtoken：",xtoken);
  
   const token = localStorage.getItem('token');
    console.log("当前token：",token);

    if (token) {
      config.headers.Authorization = `Bearer ${token}`; // 添加 token 到请求头
    }

    return config; // 返回配置对象
  },
  (error) => {
    return Promise.reject(error); // 处理请求错误
  }
);

// 导出 Axios 实例
export default axios;